locate、find命令使用总结 您所在的位置:网站首页 linux locate命令安装 locate、find命令使用总结

locate、find命令使用总结

2022-03-27 04:52| 来源: 网络整理| 查看: 265

一、简介

   在linux系统中存在"一切皆文件"的说法,这就足以说明文件的重要性,因此查找文件也是我们必须要掌握的技能。这时候熟练使用locate、find命令也就显得至关重要。尤其是find命令常用于日常工作中如安装完某个软件之后要查看这些软件的安装配置路径,或是需要按指定条件直接查找我们需要操作的文件。因此更需要熟练掌握此命令。

二、用法详解

locate:模糊查找命令,查找的是linux系统每天特点时间自动索引备份到系统数据库中的文件。

优点:查找文件速度快

缺点:查找到的结果不是实时结果(必要时,可手动执行updatedb命令索引文件到数据库,但是相当耗时。)

格式:locate [OPTION]… PATTERN…

属于模糊非实时查询,只要查询路径包含关键字即会显示出查询结果,效果如下图:

blob.png

locate、find命令使用总结find:通过遍历指定的目标目录查找文件,可以根据文件名称、日期、大小、权限进行文件实时查找

优点:查找到的结果保证是实时结果

缺点:查找速度不如locate快

格式:

find [OPTIONS] [查找路径] [查找条件] [处理动作]

find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path…] [expression]

查找路径:默认为当前路径

查找条件:默认为指定路径下的所有文件

处理动作:默认为显示到屏幕中

查找条件:

1、-name "文件名":支持使用globbing(*,?,[],[^]) 

例:按文件名查找命令为:find / -name "rpm",如下图:

locate、find命令使用总结blob.png

2、-iname 不区分文件名大小写

例:按文件名不区分大小写查找命令为:find / -iname "rpm",如下图:

locate、find命令使用总结blob.png

3、-user 根据属主查找文件

例:按属主查找文件命令为:find /tmp -user lxx,如下图:

locate、find命令使用总结blob.png

4、-group 根据属组查找文件

例:按属主查找文件命令为:find /tmp -group lxx,如下图:

locate、find命令使用总结blob.png

5、-uid 根据uid查找文件

例:按uid查找文件命令为:find /tmp -uid 502 -ls,如下图:

locate、find命令使用总结blob.png

6、-gid 根据gid查找文件

例:按gid查找文件命令为:find /tmp -gid 502 -ls,如下图:

locate、find命令使用总结blob.png

7、查找没有属主的文件

例:查找没有属主的文件命令为:find /tmp -nouser -ls,如下图:

locate、find命令使用总结blob.png

8、查找没有属组的文件

例:查找没有属组的文件命令为:find /tmp -nogroup -ls,如下图:

locate、find命令使用总结blob.png

9、组合查找条件

与(所有条件必须同时满足,-a默认可省):-a 查找条件1 -a 查找条件2 -a …

或(满足其中一个条件即可):-o 查找条件1 -o 查找条件2 -o …

非(不满足指定条件的才可以): -not,! 

    -not 查找条件

注:-a优先级高于-o优先级

例:查找与条件,包含centos文件并且没有属组的文件,命令为:

find /tmp/ -name "*centos*" -a -nogroup -ls 等价于 

find /tmp/ -name "*centos*" -nogroup -ls

如下图:

locate、find命令使用总结blob.png

例:查找或条件,包含centos文件并且没有属组的文件,命令为:

find /tmp/ -name "*centos*" -o -nogroup  (注意此处不能加-ls命令,会有问题),如下图:

locate、find命令使用总结blob.png

例:查找非条件,查找属主不是root用的文件,命令为

find /tmp/ -not -user root -ls 或 find /tmp/ ! -user root -ls如下图:

locate、find命令使用总结blob.png

find复杂逻辑处理公式:

非A 且 非B = 非(A或B)

非A 或 非B = 非(A且B)

例:find /tmp/ -not -name "*.txt" -a -not -name "*.out" 等价于 find /tmp/ -not \( -name "*.txt" -o -name "*.out" \)   

注:小括号因为比较特殊,所以此处需转义

10、根据文件类型查找

命令格式:-type TYPE:根据文件类型查找

参数说明:

    -f:普通文件

    -d: 目录文件

    -l: 符号链接文件

    -b: 块设备文件

    -c: 字符设备文件

    -p: 命令名管道文件

    -s: 套接字文件

示例如下图:

locate、find命令使用总结blob.png

11、根据文件大小查找

命令格式:-size[+|-]#UNIT:

常用单位:k,M,G

#UNIT: #-1 < x



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有